package com.zxy.pojo.vo;

import com.zxy.pojo.entity.DictType;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;

/**
 * 字典类型分页查询响应VO（与需求格式完全一致）
 */
@Data
@NoArgsConstructor
public class DictTypePageResponseVO {
    /** 总记录数（分页必填） */
    private Long total;

    /** 当前页数据列表（字典类型列表） */
    private List<DictType> rows;

    /** 响应码（成功默认200） */
    private Integer code = 200;

    /** 响应消息（成功默认"查询成功"） */
    private String msg = "查询成功";

    /** 参数回显（需求示例为null，默认null） */
    private Object params = null;

    /**
     * 静态工厂方法：快速构建分页响应
     * @param total 总记录数
     * @param rows 当前页数据
     * @return 分页响应VO
     */
    public static DictTypePageResponseVO success(Long total, List<DictType> rows) {
        DictTypePageResponseVO vo = new DictTypePageResponseVO();
        vo.setTotal(total);
        vo.setRows(rows);
        return vo;
    }

    /**
     * 失败响应方法（可选，用于异常场景）
     */
    public static DictTypePageResponseVO fail(String msg) {
        DictTypePageResponseVO vo = new DictTypePageResponseVO();
        vo.setCode(500);
        vo.setMsg(msg);
        vo.setTotal(0L);
        vo.setRows(null);
        return vo;
    }
}